CN113156808B - 一种运动控制系统中多时钟同步的处理方法 - Google Patents
一种运动控制系统中多时钟同步的处理方法 Download PDFInfo
- Publication number
- CN113156808B CN113156808B CN202110393825.4A CN202110393825A CN113156808B CN 113156808 B CN113156808 B CN 113156808B CN 202110393825 A CN202110393825 A CN 202110393825A CN 113156808 B CN113156808 B CN 113156808B
- Authority
- CN
- China
- Prior art keywords
- clock
- data
- time unit
- real
- bias
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 10
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000005070 sampling Methods 0.000 claims description 10
- 230000001360 synchronised effect Effects 0.000 abstract description 7
- 230000008859 change Effects 0.000 abstract description 6
- 230000008569 process Effects 0.000 abstract description 3
- 238000013461 design Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000033228 biological regulation Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 108700009949 PTP protocol Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P. I., P. I. D.
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明公开一种运动控制系统中多时钟同步的处理方法,利用链表的数据结构创建环形缓存用于数据的存储,低实时单元数据存入所设计的环形缓存中,高实时单元时钟每隔tick个计数进行一次采样。然后设计高实时单元时钟同步调节模块,将n(k)作为PID模块的输入,PID模块的输出记作Bias。将PID模块的输出Bias作为高实时单元时钟的偏置,即tsH'=tsH‑Bias,其中,tsH'即为高实时单元当前所要设定的时钟周期。本方法仅对被传输数据方的时钟进行调节,并允许存在传输方时钟周期的在线变化,具有很好的鲁棒性,所设计的同步调节器采用常见的PID形式,调试方法具有很好的普适性,该方法可以有效地解决工业实践中常碰到的因时钟同步性而导致的低实时性单元数据向高实时性单元传输过程中的数据丢失等问题。
Description
技术领域
本发明涉及一种运动控制系统中多时钟同步的处理方法
背景技术
基于总线或控制网络的运动控制系统在现代工业各领域中早已有广泛的应用,其通过共享的数字通信网络实现了系统中各单元模块,如控制器、驱动器、执行机构,传感器等间的数据交互,具有高扩展性,高可靠性以及接口简单,传输距离大等优点,但同时又不可避免的存在实时性与网络同步的问题。研究人员对此进行了大量的研究,并取得了丰硕成果。
中国专利文献《一种主从设备的对时方法》(公开号CN111970080A),所提出的方法为主从设备根据同一时间源进行对时,对时主站根据连续的时间戳之差和发送时间戳的本地时间之差,调节本地的定时器中的计数值,从设备接收对时命令,并根据连续接收到的时间戳之间的间隔和本地时间间隔,计算两者之差,并据此调节本地的定时器中的计数值,达到实时动态跟踪的对时的目的。显然该方法主从站都需进行调整,且针对多从站设备场合,需合理选择所要判断时钟计数的时间长度;中国发明专利文献《一种基于PTP协议的局域网高精度时钟同步方法及装置》(公开号CN111835449A),其公开的方法是,通过记录主从时钟收发同步报文时间计算时钟偏差和传输延时,动态的对本地时钟进行修正以达到时钟同步,调节本质上,原理同专利CN111970080A。
当系统中某一单元存在其时钟周期主动无法修改时,即该一方仅允许被动(外部)修改甚至不允许修改时,上述同步方法无法提供直接的解决方案;另外上述方法也很难进行实时的同步调整,且当各设备间的同步关系发生改变时,采用上述方法及其变种形式很难做到自适应的调整,即其调整“鲁棒性”差。
发明内容
本发明目的在于克服现有技术存在的缺陷,提出一种运动控制系统中多时钟同步的处理方法,针对工业应用场合中常见情形,即数据需从低实时(粗)单元传输至高实时(细)单元时,其中的高实时单元可为单一环境,也包括多环境情形,本发明方法可解决上述多时钟同步的问题,不对上述低实时环境时钟进行修改,并允许其因其他因素所导致的时钟实时变化,仅通过调整类似于工业实践中常用的诸如PID参数的形式,对高实时环境时钟周期进行实时调整,即可实现多时钟的高性能同步。
本发明方法的基本思路:利用链表的数据结构创建环形缓存用于数据的存储,为FIFO形式,即数据先入先出结构,这里的低实时单元数据首先将存入所设计的环形缓存中,高实时单元则按如下时钟计数从中进行采样:
tick=floor(tsL/tsH)
其中,floor(x)函数用于获取不大于x的最大整数,tsL为低实时单元时钟周期,tsH为高实时单元时钟周期,而tick为高实时单元采样的时钟计数,即高实时单元时钟每隔tick个计数进行一次采样,但为了避免初始段时钟抖动的影响,通常会先在环形缓存中存入部分数据,一般为一两组数据后再进行采样。环形缓存中的剩余数据个数记作n(k),其中,k代表高实时单元的第k次采样,n(k)表示了读取数据时环形缓存中已存入的尚未被读取的数据个数,理论上,若不存在时钟同步性的问题,n(k)将常为0。设计高实时单元时钟同步调节模块,一般采用PID调节器,显然这里也可以采用PID调节器的改进或其变种形式。将n(k)作为PID模块的输入,即类似于运动跟踪控制场景中的跟踪误差的作用,该PID模块的输出记作Bias,有
Bias=Kp*n(k)+Kd*(n(k)-n(k-1))+Ki*n_i
其中,Kp,Ki,Kd分别为比例增益,积分增益及微分增益,各增益参数的物理意义明显,Kp直接用于调节n(k),一般Kp越大n(k)越小,Kd对n(k)的变化率进行调节,当n(k)逐渐变大时具有很好的抑制效果,Ki则对n(k)的积分项进行调节,即包含了历史信息。值得注意的是,需要适当地调整各增益参数,以保证不出现类似运控系统中的超调甚至振荡的现象。n_i为n(k)的积分项,即n_i=n_i+n(k)。该PID模块的输出Bias将作为高实时单元时钟的偏置,即
tsH'=tsH-Bias
其中tsH'即为高实时单元当前所要设定的时钟周期。
本发明运动控制系统中多时钟同步的处理方法,其步骤是:
步骤1.利用链表的数据结构创建环形缓存用于数据的存储,为FIFO形式;
低实时单元数据首先存入所设计的环形缓存中,高实时单元则按如下时钟计数从中进行采样:
tick=floor(tsL/tsH)
其中,floor(x)函数用于获取不大于x的最大整数,tsL为低实时单元时钟周期,tsH为高实时单元时钟周期,tick为高实时单元采样的时钟计数,即高实时单元时钟每隔tick个计数进行一次采样。
为了避免初始段时钟抖动的影响,先在环形缓存中存入部分数据,一般为一两组数据后再进行采样。
环形缓存中的剩余数据个数记作n(k),其中,k代表高实时单元的第k次采样,n(k)表示了读取数据时环形缓存中已存入的尚未被读取的数据个数。
步骤2.设计高实时单元时钟同步调节模块,一般采用PID调节器:
将n(k)作为PID模块的输入,PID模块的输出记作Bias,有
Bias=Kp*n(k)+Kd*(n(k)-n(k-1))+Ki*n_i
其中,Kp,Ki,Kd分别为比例增益,积分增益及微分增益n_i为n(k)的积分项,即n_i=n_i+n(k)。
步骤3.将PID模块的输出Bias作为高实时单元时钟的偏置,即
tsH'=tsH-Bias
其中,tsH'即为高实时单元当前所要设定的时钟周期。
本发明所提出的处理方法仅需对其中一方的时钟周期进行调整即可;对此所引入的同步调节器,采用了从业人员熟知的PID形式,是PID应用的一种拓展,其结构简单,易于实现,计算量小,并可引入先前经验,调试简单;允许另一方时钟周期在比较大的范围内进行改变,具有不错的鲁棒性;采用本发明所述的处理方法,数据流向清晰明确;针对同一单元时钟,本方法还可以对多个时钟周期进行调节以实现同该单元的同步。本发明方法可以有效地解决工业实践中常碰到的因时钟同步性而导致的低实时性单元数据向高实时性单元传输过程中的数据丢失问题,本方法仅对被传输数据方的时钟周期进行调节,并允许存在传输方时钟周期的变化,具有较高的鲁棒性,所设计的同步调节器采用的是常见的PID形式,调试方法具有很好的普适性。
附图说明
图1是本发明所要解决问题的说明示意图;
图2是环形缓存设计示意图;
图3是同步时钟调节器设计示意图。
具体实施方式
下面结合实施例,对本发明方法作进一步详细说明。
实施例:参照附图,现有某一控制系统,其实时操作系统的实时线程Thread1用于进行粗插补操作,其时钟周期为4ms,而外部设备的中断线程Thread2用于细插补,其时钟周期为0.125ms,粗插补所得插补数据需作为细插补模块的输入,进行细分处理后方可用于实际设备的插补工作。
这里,将实时操作系统的实时线程作为上述低实时单元,而外部设备的中断线程则视为上述高实时性单元,因此,高实时单元的数据采样的时钟计数为:
tick=floor(4ms/0.125ms)=32
即每隔32个时钟计数采样一次。而因实时操作系统的实时时钟与外部设备的中断时针不可避免的存在同步性问题。有关该问题的表述参照图1,其中Thread1处标记的一组箭头表示每隔4ms向Thread2发送一次数据,而Thread2处的一组箭头则表示每隔32个时钟计数后接收(采样)所发送来的数据。因两时钟无法严格同步,经过一定时间后,Thread1处表标记为红色箭头所代表的数据将丢失,若不采取处理措施,这势必将对控制性能造成很大的影响及不确定性。
对此,本发明提出了一种针对运动控制系统的多时钟同步的处理方法,该方法要求Thread2并不直接接收由Thread1所发送来的数据,而是先将Thread1中的粗插补数据存入环形缓存中,该环形缓存设计参照图2。环形缓存采用环形链表的形式,其中链表各节点存在两个部分:数据区与指针区,其中数据区用于存储Thread1中的粗插补数据,指针区则存储了指向下一节点数据区的指针,末尾节点中的指针区指针指向首节点的数据区,形成环形链表,实现了FIFO功能。图2中的pTail与pHead为头指针与尾指针,用于处理环形缓存中数据的读取与写入。本实施例中总节点数N=16。
环形缓存中存入的数据的数量n作为调节器的输入,本实施例中的时钟同步调节器设计为PID的形式,如图3所示。这里采用其离散时间形式表示,图中符号z代表z域,符号T为调节周期,一般可根据实际工况选择适当值,其最小值即高实时单元的时钟周期,本实施例中选取T=2s,而其他增益参数如比例增益Kp,微分增益Kd及积分增益Ki分别设定为:
Kp=0.005,Kd=0,Ki=0.0000001;
该同步时钟调节器的输出将作为Thread2中断线程时钟周期的偏置补偿量,则当前补偿量:
Bias=0.005*n(k)+0*(n(k)-n(k-1))+0.0000001*n_i
其中,n(k)为当前环形缓存中已缓存的数据量,n(k-1)为前一调节周期时刻的缓存数据量,n_i为n(k)的积分项,即n_i=n_i+n(k)。
最终,每调节周期T=2s下更新一次Bias,同时更新中断线程Thread2的时钟周期tsH为
tsH=0.125-Bias
由此,通过对线程Thread2时钟周期的调节实现同Thread1间的时钟同步。本发明无需对Thread1时钟进行调整,因此允许其根据外部因素自行进行变化。显然针对Thread1,还可以存在其他多个外部单元,本发明可以类推到此类应用。
本发明所述的同步调节器采用的是PID的形式,也允许其他PID的改进或变种形式;
本发明所述的环形缓存的数据结构,也允许其他的数据结构。
Claims (2)
1.一种运动控制系统中多时钟同步的处理方法,其步骤是:
步骤1.利用链表的数据结构创建环形缓存用于数据的存储,为FIFO形式;
低实时单元数据首先存入所设计的环形缓存中,高实时单元则按如下时钟计数从中进行采样:
tick=floor(tsL/tsH)
其中,floor(x)函数用于获取不大于x的最大整数,tsL为低实时单元时钟周期,tsH为高实时单元时钟周期,tick为高实时单元采样的时钟计数;
环形缓存中的剩余数据个数记作n(k),其中,k代表高实时单元的第k次采样,n(k)表示了读取数据时环形缓存中已存入的尚未被读取的数据个数;
步骤2.设计高实时单元时钟同步调节模块,采用PID调节器:
将n(k)作为PID模块的输入,PID模块的输出记作Bias,
Bias=Kp*n(k)+Kd*(n(k)-n(k-1))+Ki*n_i
其中,Kp,Ki,Kd分别为比例增益,积分增益及微分增益, n_i为n(k)的积分项,n_i=n_i+n(k);
步骤3.将PID模块的输出Bias作为高实时单元时钟的偏置
tsH'=tsH-Bias
其中,tsH'即为高实时单元当前所要设定的时钟周期。
2.根据权利要求1所述的运动控制系统中多时钟同步的处理方法,其特征是:先在环形缓存中存入至少一组数据后再进行高实时单元采样。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110393825.4A CN113156808B (zh) | 2021-04-13 | 2021-04-13 | 一种运动控制系统中多时钟同步的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110393825.4A CN113156808B (zh) | 2021-04-13 | 2021-04-13 | 一种运动控制系统中多时钟同步的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113156808A CN113156808A (zh) | 2021-07-23 |
CN113156808B true CN113156808B (zh) | 2022-07-05 |
Family
ID=76890135
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110393825.4A Active CN113156808B (zh) | 2021-04-13 | 2021-04-13 | 一种运动控制系统中多时钟同步的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113156808B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1135118A (zh) * | 1994-07-12 | 1996-11-06 | 通用仪器公司 | 具有频率控制环的环形振荡器 |
CN101867469A (zh) * | 2010-06-10 | 2010-10-20 | 北京东土科技股份有限公司 | 一种精密同步时钟的实现方法 |
CN101997834A (zh) * | 2009-08-10 | 2011-03-30 | 北京多思科技发展有限公司 | 支持高性能安全协议的装置 |
CN103513574A (zh) * | 2013-05-06 | 2014-01-15 | 江苏大学 | 轴向混合磁轴承鱼群算法分数阶pid控制器的构造方法 |
CN104158616A (zh) * | 2014-07-28 | 2014-11-19 | 京信通信系统(中国)有限公司 | 一种光纤传输系统中时钟同步的方法及装置 |
-
2021
- 2021-04-13 CN CN202110393825.4A patent/CN113156808B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1135118A (zh) * | 1994-07-12 | 1996-11-06 | 通用仪器公司 | 具有频率控制环的环形振荡器 |
CN101997834A (zh) * | 2009-08-10 | 2011-03-30 | 北京多思科技发展有限公司 | 支持高性能安全协议的装置 |
CN101867469A (zh) * | 2010-06-10 | 2010-10-20 | 北京东土科技股份有限公司 | 一种精密同步时钟的实现方法 |
CN103513574A (zh) * | 2013-05-06 | 2014-01-15 | 江苏大学 | 轴向混合磁轴承鱼群算法分数阶pid控制器的构造方法 |
CN104158616A (zh) * | 2014-07-28 | 2014-11-19 | 京信通信系统(中国)有限公司 | 一种光纤传输系统中时钟同步的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113156808A (zh) | 2021-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7904184B2 (en) | Motion control timing models | |
US6535926B1 (en) | Time synchronization system for industrial control network using global reference pulses | |
CN105763641B (zh) | 一种EtherCAT主站控制系统的快速时钟同步方法 | |
CN112118623A (zh) | 多节点传感器采集系统网络时间同步方法及系统 | |
CN101233706A (zh) | 数据流同步 | |
US20120131130A1 (en) | Network Control Architecture and Protocol for a Distributed Control, Data Acquisition and Data Distribution System and Process | |
CN113156808B (zh) | 一种运动控制系统中多时钟同步的处理方法 | |
US9915939B2 (en) | Systems and methods for providing multiple frame rates on a common physical network | |
CN113056881B (zh) | 自动化通信网络中的网络参与端的操作方法 | |
US11757614B2 (en) | Accurate timestamp correction | |
CN111357243B (zh) | 总线系统的用户设备、运行方法及总线系统 | |
CN111614428B (zh) | 一种提高多个时钟间同步精度的方法及装置 | |
CN112558685B (zh) | 一种配电终端模块间对时同步的方法 | |
CN111124982B (zh) | 一种异步时钟数据同步电路 | |
CN114520703A (zh) | 用于工业网络设备间时间同步的时钟漂移补偿方法及电路 | |
Hartwich | CAN frame time-stamping—Supporting AUTOSAR time base synchronization | |
CN111123843A (zh) | 一种伺服驱动器周期同步位置指令处理方法 | |
US10374734B1 (en) | Multi-tier time-synchronization architecture | |
Ignaciuk et al. | Mitigating the impact of delay uncertainty on the performance of LQ optimal remote control systems | |
CN109656199B (zh) | 基于时钟激励反馈量同步处理的伺服控制方法 | |
US20210314132A1 (en) | Method for Synchronizing Networks | |
CN112637180B (zh) | 接口协议数据转换方法 | |
CN115883493B (zh) | 一种基于动态调整的异步数据时序恢复方法 | |
WO2024190549A1 (ja) | 時刻同期装置、方法およびプログラム | |
US20170093560A1 (en) | Adaptive compensation for internal asymmetric delay in network based timing systems |
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 |