本发明专利技术公开了基于定时器的扫描周期确定方法及装置,涉及定时器技术领域。本发明专利技术先控制第一定时器启动,再在第一定时器启动后的第一个计数循环内控制第二定时器启动,获取第一定时器和第二定时器的计数值,在第一定时器的计数值达到第一预设值后、第二定时器的计数值达到第二预设值前,根据第一定时器的计数值确定扫描周期;在第二定时器的计数值达到第二预设值后、第一定时器的计数值达到第一预设值前,根据第二定时器的计数值确定扫描周期,解决了定时器从使能到未使能和从未使能到使能产生的时间误差问题,扫描周期的计算都是基于第一定时器和第二定时器处于稳定正常情况下的计算,保证了扫描周期计算的准确性和稳定性。性。性。
【技术实现步骤摘要】
基于定时器的扫描周期确定方法及装置
[0001]本专利技术涉及定时器
,尤其涉及基于定时器的扫描周期确定方法及装置。
技术介绍
[0002]PLC的扫描周期T的计算方法一般为T=(k
‑
k0)*t,k为当前扫描周期读取的定时器的计数值,k0为上一个扫描周期读取的定时器的计数值,t为定时器的计时单位,常为0.1ms。可以看出,T取决于k和k0的读数。但当定时器的计数值为上限值或0时,定时器会停止计时功能,此时计算得到的扫描周期不准确。
技术实现思路
[0003]本专利技术通过提供基于定时器的扫描周期确定方法及装置,解决了现有技术计算得到的PLC的扫描周期不准确的技术问题。
[0004]一方面,本专利技术实施例提供如下技术方案:
[0005]一种基于定时器的扫描周期确定方法,应用于包括第一定时器和第二定时器的控制系统,所述第一定时器与所述第二定时器的计数最大值相同,所述方法包括:
[0006]控制所述第一定时器启动;
[0007]在所述第一定时器启动后的第一个计数循环内,控制所述第二定时器启动;
[0008]获取所述第一定时器和所述第二定时器的计数值;
[0009]在所述第一定时器的计数值达到第一预设值后、所述第二定时器的计数值达到第二预设值前,根据所述第一定时器的计数值确定所述扫描周期;
[0010]在所述第二定时器的计数值达到所述第二预设值后、所述第一定时器的计数值达到所述第一预设值前,根据所述第二定时器的计数值确定所述扫描周期。
[0011]优选的,所述第一预设值与所述第二预设值相同。
[0012]优选的,根据所述第一定时器的计数值确定所述扫描周期,包括:T=(x2
‑
x1)*t,T为所述扫描周期,x2为当前扫描周期所述第一定时器的计数值,x1为上一个扫描周期所述第一定时器的计数值,t为计时单位;
[0013]根据所述第二定时器的计数值确定所述扫描周期,包括:T=(y2
‑
y1)*t,y2为当前扫描周期所述第二定时器的计数值,y1为上一个扫描周期所述第二定时器的计数值。
[0014]优选的,所述第一定时器与所述第二定时器的计数最大值为2
31
‑
1。
[0015]另一方面,本专利技术实施例还提供如下技术方案:
[0016]一种基于定时器的扫描周期确定装置,应用于包括第一定时器和第二定时器的控制系统,所述第一定时器与所述第二定时器的计数最大值相同,所述装置包括:
[0017]定时器控制模块,用于控制所述第一定时器启动;
[0018]所述定时器控制模块,还用于在所述第一定时器启动后的第一个计数循环内,控制所述第二定时器启动;
[0019]计数值获取模块,用于获取所述第一定时器和所述第二定时器的计数值;
[0020]扫描周期确定模块,用于在所述第一定时器的计数值达到第一预设值后、所述第二定时器的计数值达到第二预设值前,根据所述第一定时器的计数值确定所述扫描周期;
[0021]所述扫描周期确定模块,还用于在所述第二定时器的计数值达到所述第二预设值后、所述第一定时器的计数值达到所述第一预设值前,根据所述第二定时器的计数值确定所述扫描周期。
[0022]优选的,所述第一预设值与所述第二预设值相同。
[0023]优选的,所述扫描周期确定模块根据所述第一定时器的计数值确定所述扫描周期,包括:T=(x2
‑
x1)*t,T为所述扫描周期,x2为当前扫描周期所述第一定时器的计数值,x1为上一个扫描周期所述第一定时器的计数值,t为计时单位;
[0024]所述扫描周期确定模块根据所述第二定时器的计数值确定所述扫描周期,包括:T=(y2
‑
y1)*t,y2为当前扫描周期所述第二定时器的计数值,y1为上一个扫描周期所述第二定时器的计数值。
[0025]优选的,所述第一定时器与所述第二定时器的计数最大值为2
31
‑
1。
[0026]另一方面,本专利技术实施例还提供如下技术方案:
[0027]一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一基于定时器的扫描周期确定方法。
[0028]另一方面,本专利技术实施例还提供如下技术方案:
[0029]一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器执行时实现上述任一基于定时器的扫描周期确定方法。
[0030]本专利技术提供的一个或多个技术方案,至少具有如下技术效果或优点:
[0031]本专利技术先控制第一定时器启动,再在第一定时器启动后的第一个计数循环内控制第二定时器启动,获取第一定时器和第二定时器的计数值,在第一定时器的计数值达到第一预设值后、第二定时器的计数值达到第二预设值前,根据第一定时器的计数值确定扫描周期;在第二定时器的计数值达到第二预设值后、第一定时器的计数值达到第一预设值前,根据第二定时器的计数值确定扫描周期,解决了定时器从使能到未使能和从未使能到使能产生的时间误差问题,扫描周期的计算都是基于第一定时器和第二定时器处于稳定正常情况下的计算,保证了扫描周期计算的准确性和稳定性。
附图说明
[0032]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0033]图1为本专利技术实施例中定时器的示意图;
[0034]图2为定时器的一种控制时序图;
[0035]图3为本专利技术实施例中基于定时器的扫描周期确定方法的流程图;
[0036]图4为本专利技术实施例中第一定时器和第二定时器的控制时序图;
[0037]图5为本专利技术实施例中基于定时器的扫描周期确定装置的结构示意图。
具体实施方式
[0038]本专利技术实施例通过提供基于定时器的扫描周期确定方法及装置,解决了现有技术计算得到的PLC的扫描周期不准确的技术问题。
[0039]为了更好的理解本专利技术的技术方案,下面将结合说明书附图以及具体的实施方式对本专利技术的技术方案进行详细的说明。
[0040]图1为定时器的示意图,具有两个输入、两个输出,两个输入为输入IN和输入PT,两个输出为输出Q和输出ET。输入IN为使能信号,输入IN为1时定时器开始计数;输入PT输入的是定时器计数值的最大值,本实施例中可以为2
31
‑
1=2147483647;输出Q的值在定时器的计数值小于最大值时为0、在定时器的计数值处于最大值时为1;输出ET输出定时器当前的计数值,输入IN为0时输出ET为0。若定时器的计时单位为0.1ms,输入IN为1时,每过0.1ms输出ET加1,输本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于定时器的扫描周期确定方法,应用于包括第一定时器和第二定时器的控制系统,所述第一定时器与所述第二定时器的计数最大值相同,其特征在于,所述方法包括:控制所述第一定时器启动;在所述第一定时器启动后的第一个计数循环内,控制所述第二定时器启动;获取所述第一定时器和所述第二定时器的计数值;在所述第一定时器的计数值达到第一预设值后、所述第二定时器的计数值达到第二预设值前,根据所述第一定时器的计数值确定所述扫描周期;在所述第二定时器的计数值达到所述第二预设值后、所述第一定时器的计数值达到所述第一预设值前,根据所述第二定时器的计数值确定所述扫描周期。2.如权利要求1所述的基于定时器的扫描周期确定方法,其特征在于,所述第一预设值与所述第二预设值相同。3.如权利要求1所述的基于定时器的扫描周期确定方法,其特征在于,根据所述第一定时器的计数值确定所述扫描周期,包括:T=(x2
‑
x1)*t,T为所述扫描周期,x2为当前扫描周期所述第一定时器的计数值,x1为上一个扫描周期所述第一定时器的计数值,t为计时单位;根据所述第二定时器的计数值确定所述扫描周期,包括:T=(y2
‑
y1)*t,y2为当前扫描周期所述第二定时器的计数值,y1为上一个扫描周期所述第二定时器的计数值。4.如权利要求1所述的基于定时器的扫描周期确定方法,其特征在于,所述第一定时器与所述第二定时器的计数最大值为2
31
‑
1。5.一种基于定时器的扫描周期确定装置,应用于包括第一定时器和第二定时器的控制系统,所述第一定时器与所述第二定时器的计数最大值相同,其特征在于,所述装置包括:定时器控制模块,用于控制所述第一定时器启动;所述定时器控制模块,还用于在所述第一定时器启动后的第一个计数循环内,控制所述第二定时器启动;计数值获取模块...
【专利技术属性】
技术研发人员:张旭亮,齐亚茹,吉志明,刘永超,王玉清,孙抗,赵千,刘醒,韩有贺,金琳,
申请(专利权)人:首钢京唐钢铁联合有限责任公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。