CN114415600B - Frame loss compensation position algorithm for bus type servo driver - Google Patents

Frame loss compensation position algorithm for bus type servo driver Download PDF

Info

Publication number
CN114415600B
CN114415600B CN202210025774.4A CN202210025774A CN114415600B CN 114415600 B CN114415600 B CN 114415600B CN 202210025774 A CN202210025774 A CN 202210025774A CN 114415600 B CN114415600 B CN 114415600B
Authority
CN
China
Prior art keywords
pos
process data
interrupt
frame loss
frames
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210025774.4A
Other languages
Chinese (zh)
Other versions
CN114415600A (en
Inventor
夏亮
谭先锋
曹祥
兰东洋
魏章保
赵晓兀
林树刚
巩炳杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chongqing Sandian Intelligent Technology Co ltd
Original Assignee
Chongqing Sandian Intelligent Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing Sandian Intelligent Technology Co ltd filed Critical Chongqing Sandian Intelligent Technology Co ltd
Priority to CN202210025774.4A priority Critical patent/CN114415600B/en
Publication of CN114415600A publication Critical patent/CN114415600A/en
Application granted granted Critical
Publication of CN114415600B publication Critical patent/CN114415600B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4142Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by the use of a microprocessor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34013Servocontroller

Abstract

The invention discloses a frame loss compensation position algorithm for a bus type servo driver, and designs an instruction frame loss compensation correction algorithm for the bus type servo driver aiming at a position control mode of the bus type servo driver, which comprises a process data receiving preprocessing interrupt processing module and a synchronous interrupt process data processing interrupt module; in the case of no frame loss, the process data receiving pretreatment interrupt signal is once, and then the synchronous interruption process data processing interrupt is once, and in the process data receiving pretreatment interrupt, relevant control instructions, including but not limited to control words, target positions and target speeds, are mainly received from a controller. The invention can effectively avoid the problems of motor jitter, overcurrent and the like caused by frame loss, and can make up the problem of insufficient real-time property of a control system and reduce the jitter condition of the servo motor in the running process.

Description

Frame loss compensation position algorithm for bus type servo driver
Technical Field
The invention relates to the technical field of servo drivers, in particular to a frame loss compensation position algorithm for a bus type servo driver.
Background
With the rapid development of industry 4.0, high speed, high precision and high intelligence in the whole industry has now become the pursuit goal of the whole industry, and servo drives are more rapidly developed as key components in the whole industry technology industry. In order to achieve the processing effect more accurately and precisely, the traditional pulse type servo driver cannot meet the market demand, and the digital bus type servo driver has a tendency of occupying the market widely by virtue of the advantages of high resolution, high instantaneity, high response and the like and gradually replacing. However, the digital bus type servo driver must be matched with the bus type control system for use, but for the control system with low bus real-time performance, the problems of frame loss, packet loss and the like caused by clock jitter can occur with small probability, if the conditions of frame loss and packet loss occur, the servo driver has no corresponding compensation algorithm, the motor can have the problems of jitter, abnormal sound and the like, so that the command frame loss compensation correction algorithm is particularly important.
The disadvantage of the frame loss compensation position algorithm for the bus type servo driver in the prior art is that:
1. patent document CN111176213a discloses a position subdivision method, apparatus and storage medium for bus type servo drive, "method includes: obtaining a bus synchronization cycle and a position instruction increment from a controller; obtaining a servo drive position loop period from a servo drive; calculating according to the bus synchronization period and the servo driver position ring period to obtain the number of position ring periods in one bus synchronization period; and performing increment calculation according to the position instruction increment and the number of position ring periods in one bus synchronization period, obtaining position increment and remainder, and performing calculation analysis according to the number of position ring periods in one bus synchronization period, the position increment and the remainder, so as to obtain a position given value of the position ring and a position given value of the final position ring. The invention can more accurately control the operation of the servo motor, improve the frequency response characteristic of the servo driver, reduce the jitter condition of the servo motor in the operation process, and improve the working efficiency of industrial production, but the device does not have a related algorithm for disclosing and sharing the frame loss compensation correction of instructions, thus the device still has a certain defect in practical use.
Disclosure of Invention
The present invention is directed to a frame loss compensation position algorithm for bus type servo driver, so as to solve the above-mentioned problems in the prior art.
In order to achieve the above purpose, the present invention provides a technical scheme that a frame loss compensation position algorithm for a bus type servo driver includes a process data receiving preprocessing interrupt processing module, a synchronous interrupt process data processing interrupt module;
under the condition of no frame loss, the process data receives the preprocessing interrupt signal for one time, and then synchronously interrupts the process data processing interrupt for one time;
in the process data reception preprocessing interrupt, relevant control instructions from a controller are mainly received, including but not limited to control words, target positions and target speeds. And also the operation interrupt flag variable assignment
T1=t (1)
Frames_cnt=0 (formula 2).
Preferably, in the formula 1, T1 is a process data receiving preprocessing interrupt execution flag variable, and T is a synchronization interrupt process data processing interrupt execution flag accumulated variable;
in the formula 2, frames_cnt is the number of continuous frame loss;
and in the synchronous interruption process data processing interruption module, the frame loss compensation correction related calculation and the processing of other control data are carried out.
Preferably, the frame loss compensation correction algorithm is as follows:
pos_old is the absolute position command of the last synchronization cycle;
pos is the absolute position command of the present synchronization period;
pos_inc [0] is the position increment of the present synchronization period;
pos_inc1 is the position increment of the last synchronization cycle;
pos_inc2 is the position increment of the last synchronization cycle;
pos_old=pos (3)
Pos=ect_pos (4)
Pos_inc [0] =pos-pos_old (formula 5)
Determine whether T1 and T are equal (t1+=t)? (equation 6).
Preferably, if the values are not equal, the situation that the frame loss occurs is described, and the following compensation is needed:
the position increment Pos_Inc [0] of the present synchronization period is equal to the position increment Pos_Inc [1] of the last synchronization period;
pos_inc [0] =pos_inc [1] (7)
The absolute position command Pos of the synchronization period is equal to the position command pos_old of the last synchronization period plus the position increment pos_inc 1 of the last synchronization period, and the continuous frame loss counter also needs to accumulate through a pass 9;
pos=pos_old+pos_inc [1] (8)
Frames_Cnt=Frames_Cnt+1 (formula 9)
A judgment condition of jump-out formula 6;
then judging whether the absolute value of the position increment ECT_INC1[0] of the synchronization period is larger than the absolute value of the position increment ECT_INC1[1] of the synchronization period which is 1.5 times larger than the absolute value of the position increment ECT_INC1[1] of the synchronization period, and judging whether the absolute value of the position increment ECT_INC1[1] of the previous synchronization period is larger than a certain threshold V_Lim;
(abs (ECT_INC [0 ]) > (abs (ECT_INC [1 ]) 1.5)
abs (ECT_INC1) > V_Lim? (11)
In equation 10, equation 11, abs () is an absolute function, multiplied by a multiplier, and v_lim is an increment threshold that needs to be set according to the synchronization period and motor encoder accuracy.
Preferably, if the above two conditions are both satisfied, it is stated that the process data reception preprocessing interrupt signal and the process data processing interrupt signal are lost one or more times, compensation correction of equation 7 is required, and the continuous frame loss counter is also required to accumulate by equation 9:
pos_inc [0] =pos_inc [1] (7)
Frames_Cnt=Frames_Cnt+1 (formula 9)
Judgment conditions of jump-out formulas 10 and 11
Pos_inc [2] =pos_inc [1] (expression 12)
Pos_inc [1] =pos_inc [0] (expression 13)
servo_Inc=pos_Inc [2] (equation 14)
In equation 14, servo_inc is the position increment that the Servo needs to perform in the current sync break period.
It is determined whether Frames Cnt is greater than 5,
is frames_cnt >5? (15)
If frames_cnt is greater than 5, it indicates that Frames have been lost 5 times in succession, and the servo driver alarms.
T=t+1 (formula 16).
Compared with the prior art, the invention has the following beneficial effects:
1. the invention can effectively avoid the problems of motor jitter, overcurrent and the like caused by frame loss, and can make up the problem of insufficient real-time property of a control system and reduce the jitter condition of the servo motor in the running process.
Drawings
FIG. 1 is a flow chart of a process data reception preprocessing interrupt module program of the present invention;
FIG. 2 is a flow chart of a synchronous interrupt process data processing interrupt module program of the present invention.
Detailed Description
The following description of the embodiments of the present invention will be made clearly and completely with reference to the accompanying drawings, in which it is apparent that the embodiments described are only some embodiments of the present invention, but not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to be within the scope of the invention.
In the description of the present invention, it should be noted that the directions or positional relationships indicated by the terms "upper", "lower", "inner", "outer", "front", "rear", "both ends", "one end", "the other end", etc. are based on the directions or positional relationships shown in the drawings, are merely for convenience of describing the present invention and simplifying the description, and do not indicate or imply that the devices or elements referred to must have a specific direction, be configured and operated in the specific direction, and thus should not be construed as limiting the present invention. Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying relative importance.
In the description of the present invention, it should be noted that, unless explicitly specified and limited otherwise, the terms "mounted," "provided," "connected," and the like are to be construed broadly, and may be fixedly connected, detachably connected, or integrally connected, for example; can be mechanically or electrically connected; can be directly connected or indirectly connected through an intermediate medium, and can be communication between two elements. The specific meaning of the above terms in the present invention will be understood in specific cases by those of ordinary skill in the art.
Embodiment one:
referring to fig. 1 and 2, an embodiment of the present invention provides a frame loss compensation position algorithm for a bus type servo driver, and a frame loss compensation position algorithm for a bus type servo driver, which includes a process data receiving preprocessing interrupt processing module and a synchronous interrupt process data processing interrupt module;
under the condition of no frame loss, the process data receives the preprocessing interrupt signal for one time, and then synchronously interrupts the process data processing interrupt for one time;
in the process data receiving preprocessing interrupt, relevant control instructions from a controller are mainly received, including but not limited to control words, target positions and target speeds; also, the operation interrupt flag variable is assigned:
t1=t (1)
Frames_cnt=0 (formula 2);
in the above-mentioned method 1, T1 is a process data receiving preprocessing interrupt execution flag variable, and T is a synchronous interrupt process data processing interrupt execution flag accumulated variable;
in the formula 2, frames_cnt is the number of continuous frame loss;
in a synchronous interruption process data processing interruption module, carrying out frame loss compensation correction related calculation and other control data processing;
the frame loss compensation correction algorithm is as follows:
pos_old is the absolute position command of the last synchronization cycle;
pos is the absolute position command of the present synchronization period;
pos_inc [0] is the position increment of the present synchronization period;
pos_inc1 is the position increment of the last synchronization cycle;
pos_inc2 is the position increment of the last synchronization cycle;
pos_old=pos (3)
Pos=ect_pos (4)
Pos_inc [0] =pos-pos_old (formula 5)
Determine whether T1 and T are equal (t1+=t)? (formula 6);
if the values are not equal, the situation of frame loss is indicated, and the following compensation is needed:
the position increment Pos_Inc [0] of the present synchronization period is equal to the position increment Pos_Inc [1] of the last synchronization period;
pos_inc [0] =pos_inc [1] (7)
The absolute position command Pos of the synchronization period is equal to the position command pos_old of the last synchronization period plus the position increment pos_inc 1 of the last synchronization period, and the continuous frame loss counter also needs to accumulate through a pass 9;
pos=pos_old+pos_inc [1] (8)
Frames_Cnt=Frames_Cnt+1 (formula 9)
A judgment condition of jump-out formula 6;
then judging whether the absolute value of the position increment ECT_INC1[0] of the synchronization period is larger than the absolute value of the position increment ECT_INC1[1] of the synchronization period which is 1.5 times larger than the absolute value of the position increment ECT_INC1[1] of the synchronization period, and judging whether the absolute value of the position increment ECT_INC1[1] of the previous synchronization period is larger than a certain threshold V_Lim;
(abs (ECT_INC [0 ]) > (abs (ECT_INC [1 ]) 1.5)
abs (ECT_INC1) > V_Lim? (11)
In equation 10, equation 11, abs () is an absolute function, multiplied by a multiplier, v_lim is an increment threshold, which needs to be set according to the synchronization period and motor encoder accuracy;
if the above two conditions are satisfied, it is indicated that the process data receiving preprocessing interrupt signal and the process data processing interrupt signal are lost one or more times, compensation correction of formula 7 is required, and meanwhile, the continuous frame loss counter is also required to accumulate by formula 9:
pos_inc [0] =pos_inc [1] (7)
Frames_Cnt=Frames_Cnt+1 (formula 9)
Judgment conditions of jump-out formulas 10 and 11
Pos_inc [2] =pos_inc [1] (expression 12)
Pos_inc [1] =pos_inc [0] (expression 13)
servo_Inc=pos_Inc [2] (equation 14)
In the formula 14, servo_inc is the position increment that the Servo needs to execute in the current synchronization interruption period;
it is determined whether Frames Cnt is greater than 5,
is frames_cnt >5? (15)
If the frames_cnt is larger than 5, indicating that the Frames are continuously lost for 5 times, and alarming by the servo driver;
t=t+1 (formula 16);
it will be evident to those skilled in the art that the invention is not limited to the details of the foregoing illustrative embodiments, and that the present invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiments are, therefore, to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description, and all changes which come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. Any reference sign in a claim should not be construed as limiting the claim concerned.

Claims (1)

1. A frame loss compensation position algorithm for a bus type servo driver comprises a process data receiving pretreatment interrupt processing module and a synchronous interrupt process data processing interrupt module;
under the condition of no frame loss, the process data receives the preprocessing interrupt signal once, and the synchronous interrupt process data processing is interrupted once;
in a process data reception preprocessing interrupt, receiving relevant control instructions from a controller, including a control word, a target position, a target speed, and an operation interrupt flag variable assignment
T1=t (1)
Frames_cnt=0 (formula 2);
the frame loss compensation correction algorithm is as follows:
pos_old is the absolute position command of the last synchronization cycle;
pos is the absolute position command of the present synchronization period;
pos_inc [0] is the position increment of the present synchronization period;
pos_inc1 is the position increment of the last synchronization cycle;
pos_inc2 is the position increment of the last synchronization cycle;
pos_old=pos (3)
Pos=ect_pos (4)
Pos_inc [0] =pos-pos_old (formula 5)
Determine whether T1 and T are equal (t1+=t);
if the values are not equal, the situation of frame loss is described, and the following compensation is needed:
the position increment Pos_Inc [0] of the present synchronization period is equal to the position increment Pos_Inc [1] of the last synchronization period;
pos_inc [0] =pos_inc [1] (7)
The absolute position command Pos of the synchronization period is equal to the position command pos_old of the last synchronization period plus the position increment pos_inc [1] of the last synchronization period, and the continuous frame loss counter needs to accumulate through a pass 9;
pos=pos_old+pos_inc [1] (8)
Frames_Cnt=Frames_Cnt+1 (formula 9)
A judgment condition of jump-out formula 6;
then judging whether the absolute value of the position increment ECT_INC1[0] of the synchronization period is larger than the absolute value of the position increment ECT_INC1[1] of the synchronization period which is 1.5 times larger than the absolute value of the position increment ECT_INC1[1] of the synchronization period, and judging whether the absolute value of the position increment ECT_INC1[1] of the previous synchronization period is larger than a certain threshold V_Lim;
(abs (ECT_INC [0 ]) > (abs (ECT_INC [1 ]) 1.5)
abs (ECT_INC1) > V_Lim? (11)
In equation 10, equation 11, abs () is an absolute function, multiplied by a multiplier, v_lim is an increment threshold, which needs to be set according to the synchronization period and motor encoder accuracy;
if both conditions are satisfied, the process data receiving preprocessing interrupt signal and the process data processing interrupt signal are lost one or more times, compensation correction of formula 7 is required, and meanwhile, the continuous frame loss counter is required to accumulate by formula 9:
pos_inc [0] =pos_inc [1] (7)
Frames_Cnt=Frames_Cnt+1 (formula 9)
Judgment conditions of jump-out formulas 10 and 11
Pos_inc [2] =pos_inc [1] (expression 12)
Pos_inc [1] =pos_inc [0] (expression 13)
servo_Inc=pos_Inc [2] (equation 14)
In equation 14, servo_inc is the position increment that the Servo needs to perform during the current sync break period,
it is determined whether Frames Cnt is greater than 5,
is frames_cnt >5? (15)
If Frames Cnt is greater than 5, then this indicates that Frames have been dropped 5 times in succession, the servo driver alarms,
t=t+1 (16)
In the above-mentioned method 1, T1 is a process data receiving preprocessing interrupt execution flag variable, and T is a synchronous interrupt process data processing interrupt execution flag accumulated variable;
in the formula 2, frames_cnt is the number of continuous frame loss;
and in the synchronous interruption process data processing interruption module, the frame loss compensation correction related calculation and the processing of other control data are carried out.
CN202210025774.4A 2022-01-11 2022-01-11 Frame loss compensation position algorithm for bus type servo driver Active CN114415600B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210025774.4A CN114415600B (en) 2022-01-11 2022-01-11 Frame loss compensation position algorithm for bus type servo driver

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210025774.4A CN114415600B (en) 2022-01-11 2022-01-11 Frame loss compensation position algorithm for bus type servo driver

Publications (2)

Publication Number Publication Date
CN114415600A CN114415600A (en) 2022-04-29
CN114415600B true CN114415600B (en) 2024-01-23

Family

ID=81272186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210025774.4A Active CN114415600B (en) 2022-01-11 2022-01-11 Frame loss compensation position algorithm for bus type servo driver

Country Status (1)

Country Link
CN (1) CN114415600B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115296784B (en) * 2022-08-10 2023-10-20 横川机器人(深圳)有限公司 Low-delay synchronization method for servo driver

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021012A (en) * 1996-06-27 2000-02-01 Samsung Electronics Co., Ltd. Automatic servo address mark detection and servo timing compensation circuit
WO2010025684A1 (en) * 2008-09-04 2010-03-11 华为技术有限公司 Method for packet loss compensation, apparatus and system thereof
CN102130640A (en) * 2011-01-25 2011-07-20 南京雪曼机电科技有限公司 Multishaft synchronous servo driving system and synchronous control method thereof
CN105024777A (en) * 2015-07-29 2015-11-04 上海新时达电气股份有限公司 Servo driver synchronized method based on Ether CAT real-time Ethernet
CN105741843A (en) * 2014-12-10 2016-07-06 联芯科技有限公司 Packet loss compensation method and system based on time delay jitter
CN106647672A (en) * 2017-01-10 2017-05-10 上海新时达电气股份有限公司 CANopen-based servo driver position control synchronizing method

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6021012A (en) * 1996-06-27 2000-02-01 Samsung Electronics Co., Ltd. Automatic servo address mark detection and servo timing compensation circuit
WO2010025684A1 (en) * 2008-09-04 2010-03-11 华为技术有限公司 Method for packet loss compensation, apparatus and system thereof
CN102130640A (en) * 2011-01-25 2011-07-20 南京雪曼机电科技有限公司 Multishaft synchronous servo driving system and synchronous control method thereof
CN105741843A (en) * 2014-12-10 2016-07-06 联芯科技有限公司 Packet loss compensation method and system based on time delay jitter
CN105024777A (en) * 2015-07-29 2015-11-04 上海新时达电气股份有限公司 Servo driver synchronized method based on Ether CAT real-time Ethernet
CN106647672A (en) * 2017-01-10 2017-05-10 上海新时达电气股份有限公司 CANopen-based servo driver position control synchronizing method

Also Published As

Publication number Publication date
CN114415600A (en) 2022-04-29

Similar Documents

Publication Publication Date Title
CN114415600B (en) Frame loss compensation position algorithm for bus type servo driver
JP2573352B2 (en) Voice detection device
CN1909375A (en) Real-time clock device and current time compensating method
EP3346277B1 (en) Methods and apparatus for motor speed calculation using digital hall effect sensors, with three operating modes
CN104104288A (en) Detection device and processing method of high-speed motor rotor position
CN108549024B (en) Predictive M/T speed measurement system and method
JP2010154728A (en) Low-speed control method and apparatus for servo motor
CN105245203A (en) System and method for duty ratio detection employing high precision and low speed clock
WO2022037172A1 (en) Anomalous sampled data value repair method and apparatus
CN109557417B (en) Distributed traveling wave diagnosis starting method and system for power transmission line
CN110907658B (en) Code wheel rotating speed calculation and fault detection method
CN107508512B (en) Ultra-low speed predictor control algorithm of closed-loop stepping motor
WO2016183955A1 (en) Speech synchronization method and device
CN112765073A (en) Data sampling method, system, storage medium and computer equipment
CN116206427A (en) Hierarchical alarm method based on universal index self-adaptive threshold
JP2002341943A (en) Method for inputting positional data of servo motor into motion controller and device for carrying out the same method
CN114421846A (en) Method for reducing speed feedback sampling delay of servo driver
CN112492627B (en) Post-first-service communication system, transmitting terminal equipment, medium and performance optimization method
CN114499335A (en) Absolute value encoder transmission delay compensation method
CN112558685A (en) Time synchronization method for power distribution terminal modules
US5901181A (en) Circuit for restoring bits transmitted by a series signal
CN117773281B (en) Welding state bidirectional sliding re-detection method based on historical data supplementary transmission
CN112197802A (en) Communication fault processing method for absolute value encoder
CN115085851B (en) Vehicle-mounted ECU time synchronization method and device, vehicle-mounted ECU and storage medium
CN115296784B (en) Low-delay synchronization method for servo driver

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant