定时采样方法技术

技术编号:4057752 阅读:382 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及定时采样方法,该方法应用于主设备每隔T时间发送命令采样从设备数据,从设备按T时间周期准备数据,主设备每次接收到应答包时,记录下当前主设备的时间t0,根据t0和计算出的标准时间Tstandard的时间差tt,即tt=Tstandard-t0,在T+tt时刻发送下一个采样命令包;本方法中如果从设备没有准备好数据,将不发送应答包,主设备中的主时钟根据对时精度的要求动态调整下一个采样命令包的发送时间刻,可以解决命令包或应答包掉包、软硬件运行延时的问题,使主从设备可以长期稳定同步运行。

【技术实现步骤摘要】

本专利技术涉及定时采样方法
技术介绍
现有的定时采样方法的应用环境是主设备每隔T时间发送命令采样从设备的数据,从设备拥有一个定时时钟,按照自身的从时钟每隔T时间准备好数据,在接到采样命令时返回应答数据包,主从设备由于软硬件延时不能很好的保持时钟的同步,带来定时精度无法控制,产生时间漂移现象,无法长时间稳定、同步运行的问题,也可能会采集到重复的数据和漏掉数据。
技术实现思路
本专利技术的目的是提供一种定时采样方法,以解决定时采样中重复采集和漏掉数据的问题。本专利技术的定时采样方法应用于主设备每隔采样周期T时间发送命令来采样从设备数据的定时采样设备中,该方法的步骤如下:(1)主设备发送采样包,此时设定主设备采样等待时间t1为系统规定的采样周期T;(2)判断在采样等待时间t1内是否收到从设备的应答包,若没有则继续向从设备发送采样包,并设采样等待时间t1=1.2*通讯延迟时间,直到收到从设备的应答包;若是在采样等待时间t1内收到应答包,则记录下主设备收到应答包的时间t0;(3)主设备计算出标准时间Tstandard和标准时间与收到应答包的时间差tt,即tt=Tstandard-t0;(4)主设备在T+tt时间发送采样包,并将采样等待时间t1重置为系统规定的采样周期T;(5)重复步骤(2)~(4),直到采样结束。进一步的,所述标准时间Tstandard的计算方式如下:Tstandard _new=Tstandard_old +T*((t0-Tstandard_old) /T+1),其中Tstandard_old表示前一次的Tstandard值,Tstandard_new表示新的Tstandard值,Tstandard的初值为主设备发送第一个采样包的时刻值,T表示系统规定的采样周期,t0表示收到应答包的时刻。进一步的,所述时间差tt>0或tt<0。进一步的,所述时间差tt>0表示应答包在Tstandard前返回,此时主设备需延后发送采样包,即在T+tt时间后发送,否则会得到重复数据。进一步的,所述时间差tt<0表示应答包在Tstandard后返回,此时主设备应提前发送采样包,即在T+tt时间后发送,否则漏掉从设备的新数据。本专利技术的定时采样方法中,如果从设备没有准备好数据,将不发送应答包(每个应答包都是新数据),主设备中的主时钟根据对时精度的要求动态调整采样命令包的发送时间间隔,时间间隔的确定是根据接收到应答包时间和不依赖于定时时钟计算得出的标准时-->间的差值,可以解决命令包或应答包掉包、软硬件运行延时的问题,使主从设备可以长期稳定同步运行。附图说明图1是本专利技术实施例的流程图。具体实施方式本专利技术的方法应用于主设备每隔T时间发送命令采样从设备数据的定时采样设备中。从设备依然保持T值准备数据。主设备每次接收到应答包时,记录下当前主设备的时间t0,根据t0和计算得出的标准时间Tstandard的时间差tt,即tt=Tstandard-t0,隔t+tt时间发送下一个采样命令包,其中tt>0或tt<0。一种可能出现的情况是准备好新数据时主设备没能及时发送采样命令包,漏掉了数据,这时,tt<0可解决这种可能。另一种可能是设备忙没有准备好新数据,将按设定时间间隔t1继续发命令包采样,t1远小于t,根据采样精度来确定t1(t1<精度),如果还没接到数据,继续等待t1时间发命令包,这样就可采集到新数据,tt>0可处理这种可能。标准时间Tstandard的决定是本方法的关键。软硬件时间延迟(通讯时间)越短越精确。本专利技术实施例的流程图如图1所示,具体步骤如下:(1)主设备发送采样包,设定主设备采样等待时间t1为系统规定的采样周期T;(2)判断在采样等待时间t1内是否收到从设备的应答包,若是没有则继续向从设备发送采样包,并设采样等待时间t1=1.2*通讯延迟时间,直到收到从设备的应答包;若是在采样等待时间t1内收到应答包,则记录下主设备收到应答包的时间t0;(3)主设备计算出标准时间Tstandard和标准时间与收到应答包的时间差tt,即tt=Tstandard-t0;标准时间Tstandard的计算公式为:Tstandard _new=Tstandard_old +T*((t0-Tstandard_old) /T+1),其中Tstandard_old表示前一次的Tstandard值,Tstandard_new表示新的Tstandard值,Tstandard的初值为主设备发送第一个采样包的时刻值,T表示系统规定的采样周期,t0表示收到应答包的时刻;(4)主设备在T+tt时间发送采样包,并将采样等待时间t1重置为系统规定的采样周期T;(5)重复步骤(2)~(4),直到采样结束。上述步骤(3)中时间差tt>0或tt<0。时间差tt>0表示应答包在Tstandard前返回,此时主设备需延后发送采样包,即在T+tt时间后发送,否则会得到重复数据;时间差tt<0表示应答包在Tstandard后返回,此时主设备应提前发送采样包,即在T+tt时间后发送,否则漏掉新数据。本专利技术的定时采样方法中,如果从设备没有准备好数据,将不发送应答包(每个应答包都是新数据),主设备中的主时钟根据对时精度的要求动态调整采样命令包的发送时间间隔,时间间隔的确定是根据接收到应答包时间和不依赖于定时时钟由计算所得的标准时间的差值,可以解决命令包或应答包掉包、软硬件运行延时的问题,使主从设备可以长期稳定同步运行。-->本文档来自技高网...
定时采样方法

【技术保护点】
一种定时采样方法,其特征在于,该方法应用于主设备每隔采样周期T时间发送命令来采样从设备数据的定时采样设备中,该方法的步骤如下:(1)主设备发送采样包,此时设定主设备采样等待时间t1为系统规定的采样周期T;(2)判断在采样等待时间t1内是否收到从设备的应答包,若没有则继续向从设备发送采样包,并设采样等待时间t1=1.2*通讯延迟时间,直到收到从设备的应答包;若是在采样等待时间t1内收到应答包,则记录下主设备收到应答包的时间t0;(3)主设备计算出标准时间Tstandard和标准时间与收到应答包的时间差tt,即tt=Tstandard-t0;(4)主设备在T+tt时间发送采样包,并将采样等待时间t1重置为系统规定的采样周期T;(5)重复步骤(2)~(4),直到采样结束。

【技术特征摘要】
1. 一种定时采样方法,其特征在于,该方法应用于主设备每隔采样周期T时间发送命令来采样从设备数据的定时采样设备中,该方法的步骤如下:(1)主设备发送采样包,此时设定主设备采样等待时间t1为系统规定的采样周期T;(2)判断在采样等待时间t1内是否收到从设备的应答包,若没有则继续向从设备发送采样包,并设采样等待时间t1=1.2*通讯延迟时间,直到收到从设备的应答包;若是在采样等待时间t1内收到应答包,则记录下主设备收到应答包的时间t0;(3)主设备计算出标准时间Tstandard和标准时间与收到应答包的时间差tt,即tt=Tstandard-t0;(4)主设备在T+tt时间发送采样包,并将采样等待时间t1重置为系统规定的采样周期T;(5)重复步骤(2)~(4),直到采样结束。2. 根据权利要求1所述的定时采样方法,其特征在于:所述标准时间Tstandard的计算方式如下:Tstandard...

【专利技术属性】
技术研发人员:滕奕甬刘树哲
申请(专利权)人:凯迈洛阳测控有限公司
类型:发明
国别省市:41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1