Part rotation positioning system based on programmable logic controller

CN122816063APending Publication Date: 2026-09-25GUANGDONG JIADIANMEI DAILY-USE COMMODITY CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611021135.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-07-09
Publication Date
2026-09-25

AI Technical Summary

Technical Problem

[0004]本发明的目的在于提供基于可编程逻辑控制器的零件旋转定位系统,避免现有旋转定位控制方式因采用固定参数难以适应实际惯量变化而造成的重载制动不足、轻载末端冲击超出许用范围或易超调的问题,且更易实现基础控制算法下目标惯量比的自适应平滑减速与高精度的防超调纠偏修正,具体而言,本发明的技术方案包括:

Benefits of technology

[0023]1.本发明通过位置输入单元接收目标定位位置,并由可编程逻辑控制器依据固定预设的扫描周期生成包含最大目标速度、加速段、减速段及目标定位位置的旋转运行参数,配合速度计算模块对编码器反馈的实际位置进行周期差分计算并建立数据缓存区,实现了从位置指令到运动轨迹的清晰映射与连续数据支撑,从而提高了控制系统运算过程的可追溯性与整体定位精度;

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122816063A_ABST
    Figure CN122816063A_ABST
Patent Text Reader

Abstract

The application relates to the field of industrial automation control and motion control, in particular to a part rotating positioning system based on a programmable logic controller, which comprises a position input unit, a programmable logic controller, a motor driver and a driving motor, a rotating workbench and an encoder; the programmable logic controller is internally provided with a speed calculation module, an inertia calculation module, a brake control module and a position correction module; the controller receives a target positioning position in a fixed preset scanning cycle, generates rotating operation parameters including a maximum target speed, an acceleration section, a deceleration section and the target positioning position according to the total angular displacement difference between the target positioning position and an actual position, and outputs an actual position increment instruction to drive part rotating positioning; the application realizes clear and traceable operation logic by establishing an exact numerical mapping relationship between the position instruction and the kinematics stage division.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of industrial automation control and motion control, specifically to a part rotation positioning system based on a programmable logic controller. Background Technology

[0002] In the rotary positioning of parts such as lunch boxes during processing and assembly, existing technologies typically employ fixed-parameter motor drive systems, requiring manual setting of acceleration / deceleration parameters and position loop gain, and control of the rotary table using static braking curves. This method necessitates stopping the machine to readjust parameters when changing lunch boxes of different specifications and materials due to changes in load inertia, leading to decreased processing efficiency. Furthermore, fixed braking parameters cannot adapt to changes in load inertia in real time, easily causing mechanical impacts and position overshoot when carrying lunch boxes of varying weights. When the braking force does not match the actual inertia, it can also cause relative slippage of the lunch box and a decrease in positioning accuracy, resulting in surface scratches or poor assembly. In addition, under conditions where residual angular displacement is limited, such as short-distance braking, the static braking parameters cannot be dynamically adjusted, leading to light-load end-impact exceeding the allowable range or heavy-load insufficient braking.

[0003] Therefore, there is a need in this field for a control method that can dynamically adjust the braking strategy and position correction parameters according to the changes in load inertia, and adaptively switch to a triangular velocity planning mode when the remaining angular displacement is insufficient, so as to avoid mechanical shock and slippage and achieve smooth rotational positioning. Summary of the Invention

[0004] The purpose of this invention is to provide a part rotation positioning system based on a programmable logic controller (PLC), avoiding the problems of insufficient braking under heavy loads and excessive impact or overshoot under light loads caused by the use of fixed parameters in existing rotation positioning control methods. Furthermore, it more easily achieves adaptive smooth deceleration of the target inertia ratio and high-precision anti-overshoot correction under the basic control algorithm. Specifically, the technical solution of this invention includes:

[0005] The position input unit is used to receive the target positioning position of the part;

[0006] A programmable logic controller (PLC) has a preset scan cycle for generating rotational operation parameters based on the target positioning position and generating actual position increment commands. The rotational operation parameters include the maximum target speed, acceleration segment, and deceleration segment.

[0007] The motor driver is communicatively connected to the programmable logic controller (PLC) and is used to receive the actual position increment command generated by the PLC.

[0008] A drive motor is connected to and driven by the motor driver;

[0009] A rotary worktable, connected to and driven by a drive motor, is used to support and rotate parts.

[0010] An encoder is mounted on the drive motor and connected to the programmable logic controller via a communication bus. It is used to collect the actual position of the drive motor and feed it back to the programmable logic controller.

[0011] The programmable logic controller (PLC) has internal modules for speed calculation, inertia calculation, braking control, and position correction.

[0012] Preferably, the speed calculation module is used to: read the actual position fed back by the encoder during the current scan cycle of the programmable logic controller;

[0013] Based on the actual positions read within the continuously preset scanning cycles, the actual speed of the current scanning cycle is obtained;

[0014] A data buffer is set up inside the programmable logic controller. A target instruction speed sequence is generated according to the rotation operation parameters. The target instruction speed sequence in the acceleration segment and the actual speed sequence composed of the actual speed are stored in the data buffer.

[0015] Preferably, the inertia calculation module is used to: obtain the velocity difference within a preset scanning cycle based on the target instruction velocity sequence and the actual velocity sequence stored in the data buffer during the acceleration phase; and determine the inertia ratio of the part based on the velocity difference within the acceleration phase.

[0016] Preferably, the inertia calculation module is further configured to: perform amplitude limiting processing on the inertia ratio, and use the value after amplitude limiting processing as the target inertia ratio.

[0017] Preferably, the braking control module is used to: before entering the deceleration section, divide the deceleration section into a variable acceleration braking section, a uniform deceleration section, and an end buffer section based on the target inertia ratio;

[0018] Based on the target inertia ratio, the action time and acceleration slope of the variable acceleration braking segment and the end buffer segment are obtained.

[0019] Preferably, the braking control module is further configured to: obtain the duration of the uniform deceleration phase, calculate the difference between the target positioning position and the actual position within the current scanning cycle as the remaining angular displacement, and generate the reference position increment for the current scanning cycle based on the remaining angular displacement.

[0020] Preferably, the position correction module is used to: within the end buffer section, obtain the command position of the current scan cycle based on the target positioning position; obtain the feedforward suppression amount based on the actual speed of the current scan cycle and the action time of the end buffer section; obtain a preset position loop gain, and determine the position correction amount by combining the preset position loop gain, the feedforward suppression amount, the command position, the actual position and the target inertia ratio.

[0021] Preferably, the position correction module is further configured to: obtain the actual position increment instruction based on the reference position increment and the position correction amount of the current scanning cycle; and send the actual position increment instruction to the motor driver.

[0022] Compared with the prior art, the present invention has the following beneficial effects:

[0023] 1. This invention receives the target positioning position through the position input unit, and the programmable logic controller generates rotational operation parameters including the maximum target speed, acceleration segment, deceleration segment and target positioning position according to a fixed preset scanning cycle. In conjunction with the speed calculation module, the actual position fed back by the encoder is calculated by periodic difference and a data buffer is established, realizing a clear mapping and continuous data support from position command to motion trajectory, thereby improving the traceability of the control system operation process and the overall positioning accuracy.

[0024] 2. This invention limits the amplitude by setting a range, enabling the system to stably obtain the target inertia ratio for different component loading states, providing a reliable basis for subsequent braking control and position correction;

[0025] 3. This invention plans the deceleration segment based on the target inertia ratio and automatically switches to a triangular velocity planning mode without uniform deceleration segment when the remaining angular displacement is insufficient. Combined with the position correction module, a preset position loop gain, feedforward suppression amount and follower error reverse correction are introduced in the end buffer segment. This achieves targeted suppression of insufficient braking under heavy load, end impact under light load and overshoot problems, and enhances the adaptive adjustment capability and positioning accuracy of the system under different loads, different speeds and limited remaining space. Attached Figure Description

[0026] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:

[0027] Figure 1 This is a schematic diagram of the structure of a part rotation positioning system based on a programmable logic controller provided in an embodiment of this application. Detailed Implementation

[0028] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to specific embodiments.

[0029] Please see Figure 1 A part rotation positioning system based on a programmable logic controller includes:

[0030] The position input unit is used to receive the target positioning position of the part;

[0031] The programmable logic controller has a preset scan cycle, which is used to generate rotational operation parameters based on the target positioning position and generate actual position increment commands. The rotational operation parameters include the maximum target speed, acceleration segment and deceleration segment.

[0032] The motor driver is communicatively connected to the programmable logic controller (PLC) and is used to receive actual position increment commands generated by the PLC.

[0033] The drive motor is connected to and driven by the motor driver.

[0034] A rotary worktable, connected to and driven by a drive motor, is used to support and rotate parts.

[0035] An encoder is mounted on the drive motor and connected to the programmable logic controller (PLC) via a communication bus. It is used to acquire the actual position of the drive motor and feed it back to the PLC.

[0036] The programmable logic controller (PLC) has internal modules for speed calculation, inertia calculation, braking control, and position correction.

[0037] In this embodiment, the position input unit can be a human-machine interface, a host computer input terminal, or a parameter input terminal that is connected to the control system. Its function is to receive the target positioning position that the part needs to reach in this rotation and convert the target positioning position into a digital quantity or position command quantity that can be read by the programmable logic controller.

[0038] After the programmable logic controller reads the target positioning position within a fixed preset scanning cycle, it generates rotational operation parameters according to the preset trajectory generation rules. The rotational operation parameters include at least the maximum target speed, acceleration segment, deceleration segment, and target positioning position. The maximum target speed is used to limit the upper limit of the speed during the rotation process, the acceleration segment and deceleration segment are used to limit the stage division of speed change, and the target positioning position is used as the end position of this positioning.

[0039] The processing logic of the pre-defined trajectory generation rules is as follows: the controller calculates the absolute value of the total angular displacement difference between the target positioning position and the current actual position. Extract the system's preset global maximum allowable speed. and global maximum allowable acceleration The calculation increased the speed from zero to The critical displacement required to reduce to zero with the same acceleration The calculation formula is as follows:

[0040]

[0041] Determine the absolute value of the total angular displacement difference Is it greater than or equal to the critical displacement? :

[0042] like Then the maximum target speed and the duration of the acceleration phase The calculation formula is:

[0043]

[0044]

[0045] like Then the maximum target speed and the duration of the acceleration phase The calculation formula is:

[0046]

[0047]

[0048] in, and This is derived from the physical limits of the mechanical transmission system and the rated output limit of the motor driver.

[0049] Through the above structured condition judgment and calculation, the numerical mapping relationship from position command to kinematic stage division is established; the motor driver and the drive motor constitute the execution unit, and the two are connected to the programmable logic controller.

[0050] After the programmable logic controller outputs the actual position increment command in each preset scan cycle, the motor driver controls the drive motor to rotate according to the command, and the drive motor then drives the rotary table to rotate, so that the part completes the position adjustment with the rotary table.

[0051] The encoder is mounted on the drive motor, and its output is the actual position data of the drive motor shaft end, which is transmitted back to the programmable logic controller (PLC) via the communication bus. After receiving the actual position, the PLC calculates the actual speed and compares it with the commanded position to form the data basis for subsequent corrections.

[0052] The speed calculation module is used to: within a preset scan cycle Current scan cycle Internal reading of the encoder's actual position The actual speed of the current scan cycle is calculated using the following discrete difference formula. :

[0053]

[0054] In the formula, This refers to the actual position in the previous preset scan cycle; It originates from the inherent task scan cycle at the underlying level of the programmable logic controller.

[0055] A data buffer is set up inside the programmable logic controller (PLC) to provide the data support required for subsequent continuous calculations. The length of the buffer is dynamically adjusted according to the acceleration period in the current rotational operation parameters to completely record the target command speed sequence and the actual speed sequence from the start of the rotational action to the maximum target speed. The target command speed sequence is the target speed sequence generated by the PLC based on the rotational operation parameters. After each update of the speed calculation module, the buffer retains the speed change data within the corresponding time window for inertia calculation.

[0056] Furthermore, the speed calculation module is used to: read the actual position fed back by the encoder during the current scan cycle of the programmable logic controller;

[0057] Based on the actual position read within a continuous preset scan cycle, the actual speed of the current scan cycle is obtained;

[0058] A data buffer is set up inside the programmable logic controller. The target instruction speed sequence is generated according to the rotation operation parameters, and the target instruction speed sequence and the actual speed sequence composed of the actual speed in the acceleration segment are stored in the data buffer.

[0059] In this embodiment, the speed calculation module obtains the actual position data corresponding to the current scanning cycle from the encoder, and then calls the actual position data of the previous preset scanning cycle to calculate the difference between the two to obtain the position change. Since the preset scanning cycle is a known fixed value, the current actual speed can be obtained by dividing the position change by the preset scanning cycle.

[0060] The actual speed reflects the true motion state of the drive motor and rotary table within the current cycle; the data buffer is composed of the internal storage unit of the programmable logic controller, which is used to save the target speed and actual speed within multiple preset scan cycles in chronological order; whenever a new preset scan cycle arrives, the controller will write the newly generated instruction speed into the buffer and write the actual speed returned by the encoder into the corresponding position, forming multiple sets of paired speed data.

[0061] Because the data buffer records data over multiple consecutive preset scan cycles, it stores a continuous sequence of velocity changes. When the inertia calculation module calls the data, it directly reads the velocity sequence during the current acceleration process and performs cumulative calculations.

[0062] Furthermore, the inertia calculation module is used to: obtain the speed difference within a continuous preset scan cycle based on the target instruction speed sequence and the actual speed sequence stored in the data buffer during the acceleration phase; and determine the inertia ratio of the part based on the speed difference within the acceleration phase.

[0063] In this embodiment, the inertia calculation module only performs inertia identification during the acceleration phase of the rotational motion; the acceleration phase refers to the process from the start of rotation to the point where the speed in the target command speed sequence reaches the maximum target speed.

[0064] Within this range, the inertia calculation module sequentially reads the target instruction velocity sequence and the actual velocity sequence from the data buffer, and calculates the velocity difference between the two for each preset scan cycle; the velocity difference reflects the following deviation between the instruction velocity and the actual velocity, and the deviation increases when the load inertia deviates from the system reference inertia;

[0065] The inertia calculation module calculates the cumulative velocity difference during the acceleration phase using the following formula. :

[0066]

[0067] Then calculate the current inertia ratio of the part. :

[0068]

[0069] In the formula, The total number of scan cycles included in the acceleration segment; For the first Target instruction speed within a cycle For the first The actual speed within each cycle; The preset scan cycle; The maximum target speed; This is an experimental constant determined based on the system's no-load step response. This constant characterizes the physical ratio between the rotor inertia at the motor shaft end and the system's reference inertia.

[0070] It is composed of the ratio of the rotor inertia of the drive motor to the system reference inertia, where the system reference inertia is the sum of the inherent rotational inertia of the rotary table when it is unloaded and the rotor inertia of the drive motor. The preset calibration coefficient is a pre-set constant used to convert the speed deviation into the change in inertia. This inertia ratio is used to characterize the degree of change in inertia of the current part load relative to the reference state, and serves as the input for subsequent braking control and position correction.

[0071] The system uses a per-unit conversion mechanism to perform dimensional conversion of each physical quantity in the controller; the actual unit of the cumulative velocity difference is the number of pulses representing displacement following lag, while the maximum target velocity is also set in the controller as the maximum position increment / cycle, i.e., the number of pulses / the preset scan cycle;

[0072] Therefore, dividing the cumulative velocity difference by the maximum target velocity actually extracts a dimensionless cumulative lag period; at the same time, The conversion has been completed by a preset algorithm before being input into the system. The exact mathematical mapping logic inside is as follows:

[0073]

[0074] in, These are the preset calibration coefficients. For the rotor inertia of the drive motor, The system's reference inertia, The dimensionless empirical constants preset for the system are determined based on the open-loop step response frequency of the motor under the reference inertia.

[0075] The system sets the maximum target speed as a known quantity. The cumulative speed difference is multiplied by the preset calibration coefficient and then divided by the maximum target speed to obtain the additional relative lag caused by the load inertia. This lag is then added to the reference constant to obtain the inertia ratio. The controller establishes a mapping relationship of the inertia ratio based on continuous calculation of time-domain displacement data.

[0076] Furthermore, the inertia calculation module is also used to: limit the inertia ratio and use the value after limiting as the target inertia ratio.

[0077] In this embodiment, after obtaining the inertia ratio, the inertia calculation module immediately performs a range determination. This set range consists of a lower limit and an upper limit, used to limit the inertia ratio from changing within a reasonable range, avoiding excessively large or small inertia ratios due to speed sampling fluctuations, mechanical jamming, or short-term interference. If the calculated inertia ratio is greater than the upper limit, the controller directly limits it to the upper limit; if it is less than the lower limit, it is limited to the lower limit; if it is within the range, the original value remains unchanged. The inertia ratio after this processing is used as the target inertia ratio for subsequent control.

[0078] The target inertia ratio converts the current change in inertia of the part into an input value for adjusting the control parameters; the inertia ratio is limited before entering the subsequent braking control module and position correction module to make the parameter changes of each segment smooth.

[0079] To ensure the rationality of the set range, the calibration rules for the lower and upper limits correspond to the boundary conditions of the physical system. The lower limit usually corresponds to the natural inertia state of the rotary table when it is unloaded or only equipped with the lightest fixture. This lower limit is used to eliminate minimum value anomalies caused by encoder sampling errors or short-term external disturbances, so as to ensure the braking force output in subsequent control. The lower limit is generally obtained based on the no-load calibration test and is usually set between 0.8 and 1.0.

[0080] The upper limit is calculated based on the maximum permissible overload capacity of the motor driver and the mechanical strength of the rotary transmission mechanism, and is used to characterize the maximum physical load that the system can safely drive; if the calculated inertia ratio exceeds the limit, it indicates that mechanical jamming or overload may occur.

[0081] The upper limit is calibrated based on the ratio of the motor's peak output torque to the reference inertia, and is usually set between 3.0 and 5.0. By using the upper and lower limits determined above, the system can ensure that the electrical and mechanical systems operate within the safe range while maximizing its dynamic response capability.

[0082] The braking control module is used to: divide the deceleration phase into a variable acceleration braking phase, a uniform deceleration phase, and an end buffer phase based on the target inertia ratio before entering the deceleration phase;

[0083] Based on the target inertia ratio, the action time and acceleration slope of the variable acceleration braking segment and the end buffer segment are obtained.

[0084] In this embodiment, the braking control module first determines whether the remaining angular displacement has reached a preset braking point before entering the deceleration phase; the preset braking point is triggered by the deceleration phase. The calculation formula is:

[0085]

[0086] in, This is the preset total time for the deceleration phase. The global maximum allowable deceleration preset for the system.

[0087] Based on target inertia ratio The duration of the variable acceleration and braking phase and acceleration slope The calculation formula is:

[0088]

[0089]

[0090] Duration of the end buffer section and acceleration slope The calculation formula is:

[0091]

[0092]

[0093] in, The preset smoothing time is taken from the test results of the lowest-order mechanical resonance frequency of the mechanical system. The results were obtained by evaluating the rated power torque of the integrated motor and the static friction coefficient of the rotary table.

[0094] The end buffer segment is used to reduce the speed change amplitude when approaching the target position, making the end deceleration smoother; after completing the above calculations, the braking control module generates the reference position increment of the current scanning cycle according to the action time and acceleration slope of each segment, and sends the reference position increment to the position correction module.

[0095] Furthermore, when faced with different inertia loads, the system achieves asymmetric dynamic evolution of smooth curve acceleration and deceleration through the inertia ratio; when the target inertia ratio is greater than 1, that is, when large inertia components are loaded, the action time of the variable acceleration braking segment is compressed proportionally, thereby rapidly establishing the required peak braking force with a steeper slope.

[0096] In the final buffer section, the action time is extended proportionally, making the braking action of the heavy load when approaching the target position smoother and reducing mechanical shock and position overshoot; the shortening of the action time of the variable acceleration braking section corresponds to the increase of the absolute value of the acceleration slope, and the extension of the action time of the final buffer section is used to slowly remove the braking force; the preset smoothing time and the preset maximum deceleration have corresponding physical system parameter calibration rules.

[0097] The preset smoothing time is calibrated based on the inherent vibration characteristics of the rotating machinery system. The specific acquisition rule is as follows: the lowest order mechanical resonance frequency of the system under extreme load conditions is obtained through frequency domain analysis or hammer test. In order to effectively suppress the residual vibration excited during the deceleration process, the value of the preset smoothing time is limited to be greater than half of the lowest order mechanical resonance period.

[0098] The preset maximum deceleration is calculated based on the rated braking torque of the motor and the maximum frictional torque of the rotary table. This ensures that when the maximum deceleration command is issued, the resulting reverse torque will neither trigger the overcurrent protection of the motor driver nor cause the parts to slide relative to each other on the rotary table.

[0099] The preset maximum deceleration is the smaller of the absolute values ​​of the first and second limit decelerations;

[0100] The calculation logic for the first limiting deceleration is to multiply the rated braking torque of the motor by the mechanical transmission ratio between the drive motor and the rotary table, and then divide it by the total physical moment of inertia when the system is equipped with the maximum design allowable load, so as to obtain the acceleration boundary limit value that does not trigger electrical overload.

[0101] The calculation logic for the second limiting deceleration is to multiply the maximum static friction coefficient between the pre-stored part and the worktable surface by the gravitational acceleration, and then divide it by the effective gyration radius from the part's clamping center of gravity to the rotation center, thereby obtaining the mechanical anti-slip acceleration limit value that does not cause relative slippage; the above calibration method provides reliable and clear traceable boundary constraint conditions for the division of the bottom deceleration section.

[0102] Furthermore, the braking control module is also used to: obtain the duration of the uniform deceleration phase, calculate the difference between the target positioning position and the actual position within the current scanning cycle as the remaining angular displacement, and generate the reference position increment for the current scanning cycle based on the remaining angular displacement.

[0103] In this embodiment, after completing the deceleration segment division, the braking control module continues to calculate the time of the uniform deceleration segment; the theoretical time of the uniform deceleration segment... The calculation formula is:

[0104]

[0105] In the formula, The remaining angular displacement between the current target location and its actual location;

[0106] like This indicates that the deceleration space is insufficient to accommodate the uniform deceleration segment, and the system switches to a triangular velocity programming mode without a uniform deceleration segment. At this point, the peak deceleration is recalculated. The formula is:

[0107]

[0108] In the calculation logic, the remaining corner position removal uses the maximum target speed as the time parameter to characterize the safety margin; because in nonlinear deceleration trajectories such as smooth curves, the variable acceleration braking segment and the end buffer segment will inevitably cause the speed decay curve to deviate from the ideal rectangular area on the time axis due to the slope limitation.

[0109] After deriving the kinematic velocity-time integral displacement in the discrete domain, half of the sum of the action time of the variable acceleration braking segment and the end buffer segment is subtracted to compensate for the displacement deviation caused by the nonlinear decay of velocity from the initial total angular displacement.

[0110] The theoretical time of the uniform deceleration segment is used as a control parameter to determine the remaining fault tolerance space, so as to avoid the overflow and truncation error of the programmable logic controller execution cycle caused by high-order calculus formulas.

[0111] After completing the above judgment, the controller generates the reference position increment for the current scanning cycle based on the action time and acceleration slope of each segment. This reference position increment is an uncorrected command value, which will be superimposed with the position correction amount to form the final actual position increment command.

[0112] When the system switches to the triangular velocity planning mode, in the variable acceleration and variable buffer trajectory without a uniform deceleration platform, that is, in the approximate sine half wave or triangular shape, the deceleration process must undergo a smooth transition of acceleration, so that the average deceleration of the system in this segment is half of the peak deceleration.

[0113] When reducing the instantaneous velocity to zero within a limited residual angular displacement, the actual required peak deceleration is twice the result obtained from the conventional constant deceleration ideal calculation formula. The calculation formula is as follows: ,in, For the maximum target speed, This is the residual angular displacement, which is twice the result. This calculation mode outputs peak parameters under short-distance braking conditions to maintain stable operation.

[0114] Furthermore, the position correction module is used to: obtain the command position of the current scan cycle based on the target positioning position within the end buffer segment; obtain the feedforward suppression amount based on the actual speed of the current scan cycle and the action time of the end buffer segment; obtain the preset position loop gain, and determine the position correction amount by combining the preset position loop gain, feedforward suppression amount, command position, actual position and target inertia ratio.

[0115] In this embodiment, the position correction module only participates in the calculation within the end buffer segment; the controller reads the preset position loop gain after the start of this segment. This preset position loop gain is a pre-set position loop proportional control constant used to convert position deviation changes into correction amplitude; feedforward suppression amount The calculation formula is:

[0116]

[0117] Current following error and the preset position loop gain Determined proportional adjustment amount The formula is:

[0118]

[0119]

[0120] Suppress acceleration commands by using the opposite sign; position correction amount. The general calculation formula is:

[0121]

[0122] in, This represents the parsed position of the current cycle instruction. Dimensionless proportionality coefficient or Gain coefficient, the critical gain determined by the open-loop step response of the system. The conversion formula is as follows:

[0123]

[0124] in, The gain of the pure proportional controller is gradually increased in the closed-loop state of the system until the system output produces constant amplitude oscillations.

[0125] By employing a reverse intervention mechanism based on kinematic trends and proportional compensation, overshoot prevention and correction control is achieved, which balances smooth deceleration with precise positioning.

[0126] Furthermore, the position correction module is also used to: obtain the actual position increment command based on the reference position increment and the position correction amount of the current scanning cycle; and send the actual position increment command to the motor driver.

[0127] In this embodiment, after obtaining the reference position increment and the position correction amount, the position correction module first adds the two together to form the actual position increment command for the current scanning cycle; the actual position increment command is sent to the motor driver via the communication interface, and the motor driver controls the drive motor and the rotary table to continue moving according to the command;

[0128] When the next preset scan cycle arrives, the programmable logic controller reads the actual position fed back by the encoder again and re-executes the relevant steps of speed calculation, inertia calculation, braking control and position correction. Thus, the system updates the actual position increment based on the latest actual position in each preset scan cycle, so that the target positioning position can be gradually approached and the rotational positioning of the part can be completed.

[0129] It should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the technical solutions of the present invention.

Claims

1. A part rotation positioning system based on a programmable logic controller, characterized in that, include: The position input unit is used to receive the target positioning position of the part; A programmable logic controller (PLC) has a preset scan cycle for generating rotational operation parameters based on the target positioning position and generating actual position increment commands. The rotational operation parameters include the maximum target speed, acceleration segment, and deceleration segment. The motor driver is communicatively connected to the programmable logic controller (PLC) and is used to receive the actual position increment command generated by the PLC. A drive motor is connected to and driven by the motor driver; A rotary worktable, connected to and driven by the drive motor, is used to support and rotate the parts. An encoder is mounted on the drive motor and connected to the programmable logic controller via a communication bus. It is used to collect the actual position of the drive motor and feed it back to the programmable logic controller. The programmable logic controller (PLC) is equipped with a speed calculation module, an inertia calculation module, a braking control module, and a position correction module.

2. The part rotation positioning system based on a programmable logic controller according to claim 1, characterized in that, The speed calculation module is used for: During the current scan cycle of the programmable logic controller, the actual position fed back by the encoder is read; Based on the actual positions read within the continuously preset scanning cycles, the actual speed of the current scanning cycle is obtained; A data buffer is set up inside the programmable logic controller. A target instruction speed sequence is generated according to the rotation operation parameters, and the target instruction speed sequence in the acceleration segment and the actual speed sequence composed of the actual speed are stored in the data buffer.

3. The part rotation positioning system based on a programmable logic controller according to claim 2, characterized in that, The inertia calculation module is used for: Within the acceleration phase, the speed difference within a preset scan cycle is obtained based on the target instruction speed sequence and the actual speed sequence stored in the data buffer. The inertia ratio of the parts is determined based on the speed difference within the acceleration phase.

4. The part rotation positioning system based on a programmable logic controller according to claim 3, characterized in that, The inertia calculation module is also used to: perform amplitude limiting processing on the inertia ratio, and use the value after amplitude limiting processing as the target inertia ratio.

5. The part rotation positioning system based on a programmable logic controller according to claim 4, characterized in that, The braking control module is used for: Before entering the deceleration phase, based on the target inertia ratio, the deceleration phase is divided into a variable acceleration braking phase, a uniform deceleration phase, and an end buffer phase. Based on the target inertia ratio, the action time and acceleration slope of the variable acceleration braking segment and the end buffer segment are obtained.

6. The part rotation positioning system based on a programmable logic controller according to claim 5, characterized in that, The braking control module is also used to: obtain the duration of the uniform deceleration phase, calculate the difference between the target positioning position and the actual position in the current scanning cycle as the remaining angular displacement, and generate the reference position increment for the current scanning cycle based on the remaining angular displacement.

7. The part rotation positioning system based on a programmable logic controller according to claim 6, characterized in that, The position correction module is used for: Within the end buffer section, the command position of the current scan cycle is obtained based on the target positioning position; the feedforward suppression amount is obtained based on the actual speed of the current scan cycle and the action time of the end buffer section. Obtain a preset position loop gain, and combine the preset position loop gain, the feedforward suppression amount, the commanded position, the actual position, and the target inertia ratio to determine the position correction amount.

8. The part rotation positioning system based on a programmable logic controller according to claim 7, characterized in that, The position correction module is further configured to: obtain the actual position increment instruction based on the reference position increment of the current scanning cycle and the position correction amount; and send the actual position increment instruction to the motor driver.